package com.hzncc.flowable_diboot.trial_contracts.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import com.diboot.core.entity.BaseModel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import jakarta.validation.constraints.NotNull;

/**
* 试用合同 Entity 定义
* @author MyName
* @version 1.0
* @date 2024-10-15
* Copyright © MyCorp
*/

@TableName("mdl_trial_contract")
@Getter @Setter @Accessors(chain = true)
public class TrialContract extends BaseModel {
    private static final long serialVersionUID = 1585441139361234558L;

    /**
     * 租户
     */
    @NotNull(message = "租户不能为空")
    @TableField()
    private String tenantId;

    /**
     * 甲方
     */
    @Length(max=100, message="甲方长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyA;

    /**
     * 甲方地址
     */
    @Length(max=100, message="甲方地址长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyAAddress;

    /**
     * 乙方
     */
    @Length(max=100, message="乙方长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyB;

    /**
     * 乙方地址
     */
    @Length(max=100, message="乙方地址长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyBAddress;

    /**
     * 合计
     */
    @Length(max=100, message="合计长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String total;

    /**
     * 合计（大写）
     */
    @Length(max=100, message="合计（大写）长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String totalInWords;

    /**
     * 试用期限
     */
    @Length(max=100, message="试用期限长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String trialPeriod;

    /**
     * 交货期
     */
    @Length(max=100, message="交货期长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String deliveryPeriod;

    /**
     * 交货地点
     */
    @Length(max=100, message="交货地点长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String deliveryLocation;

    /**
     * 收货人
     */
    @Length(max=100, message="收货人长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String consignee;

    /**
     * 收货人电话
     */
    @Length(max=100, message="收货人电话长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String consigneePhone;

    /**
     * 使用地点
     */
    @Length(max=100, message="使用地点长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String usageLocation;

    /**
     * 异议期限
     */
    @Length(max=100, message="异议期限长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String objectionPeriod;

    /**
     * 付款期限
     */
    @Length(max=100, message="付款期限长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String paymentPeriod;

    /**
     * 退回期限
     */
    @Length(max=100, message="退回期限长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String returnPeriod;

    /**
     * 质保期内处理期限
     */
    @Length(max=100, message="质保期内处理期限长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String warrantyPeriodHandling;

    /**
     * 质保期外处理期限
     */
    @Length(max=100, message="质保期外处理期限长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String nonWarrantyPeriodHandling;

    /**
     * 甲方落款名称
     */
    @Length(max=100, message="甲方落款名称长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyASignatureName;

    /**
     * 甲方落款地址
     */
    @Length(max=100, message="甲方落款地址长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyASignatureAddress;

    /**
     * 乙方落款名称
     */
    @Length(max=100, message="乙方落款名称长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyBSignatureName;

    /**
     * 乙方落款地址
     */
    @Length(max=100, message="乙方落款地址长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyBSignatureAddress;

    /**
     * 甲方法定代表人
     */
    @Length(max=100, message="甲方法定代表人长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyALegalRepresentative;

    /**
     * 乙方法定代表人
     */
    @Length(max=100, message="乙方法定代表人长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyBLegalRepresentative;

    /**
     * 甲方委托代理人
     */
    @Length(max=100, message="甲方委托代理人长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyAAuthorizedAgent;

    /**
     * 乙方委托代理人
     */
    @Length(max=100, message="乙方委托代理人长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyBAuthorizedAgent;

    /**
     * 甲方电话
     */
    @Length(max=100, message="甲方电话长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyAPhone;

    /**
     * 乙方电话
     */
    @Length(max=100, message="乙方电话长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyBPhone;

    /**
     * 甲方传真
     */
    @Length(max=100, message="甲方传真长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyAFax;

    /**
     * 乙方传真
     */
    @Length(max=100, message="乙方传真长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyBFax;

    /**
     * 甲方税号
     */
    @Length(max=100, message="甲方税号长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyATaxNumber;

    /**
     * 乙方税号
     */
    @Length(max=100, message="乙方税号长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyBTaxNumber;

    /**
     * 甲方签订日期
     */
    @Length(max=100, message="甲方签订日期长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyASigningDate;

    /**
     * 乙方签订日期
     */
    @Length(max=100, message="乙方签订日期长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String partyBSigningDate;

    /**
     * 审批单id
     */
    @Length(max=100, message="审批单id长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String auditId;


}